home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 050a / vmix264.zip / TECHREF.DOC < prev    next >
Text File  |  1991-08-07  |  74KB  |  3,234 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                              -------------------------
  11.                             |                         |
  12.                             |                         |
  13.                             |                         |
  14.                             |      V M i X  3 8 6     |
  15.                             |                         |
  16.                             |           for           |
  17.                             |                         |
  18.                             |    MSDOS Environments   |
  19.                             |                         |
  20.                             |                         |
  21.                             |                         |
  22.                             |    Multiuser Operating  |
  23.                             |        Supervisor       |
  24.                             |                         |
  25.                             |         for the         |
  26.                             |                         |
  27.                             |    I B M  PC / XT / AT  |
  28.                             |                         |
  29.                             |                         |
  30.                             |       Version 2.6X      |
  31.                             |                         |
  32.                             |    Technical Reference  |
  33.                              -------------------------
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.                                         By
  56.  
  57.                                  J. Anthony Borras
  58.                            Commercial Software Associates
  59.                                 Post Office Box  36
  60.                           Corona del Mar, California 92625
  61.                                   (714)  720-1214
  62.  
  63.                      IBM PC/XT/AT are trademarks of the IBM Corp.
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.                               This manual was written by:
  125.  
  126.  
  127.                              Commercial Software Associates
  128.                                    Post Office Box  36
  129.                             Corona del Mar, California 92625
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   COPYRIGHT NOTICE
  137.  
  138.                       Copyright (c) 1991 by: J. Anthony Borras
  139.                                  All rights reserved
  140.  
  141.                       No  part  of  this  program  or  related
  142.                       documentation may be copied, reproduced,
  143.                       stored   in   a   retrieval  system,  or
  144.                       transmitted in any  form or by any means
  145.                       electronic,   mechanical,   photocopied,
  146.                       recorded, or thereby translated into any
  147.                       language,   without  the  prior  written
  148.                       permission of  the publisher.    You may
  149.                       only  make  a copy  of  the program  for
  150.                       backup purposes.
  151.  
  152.  
  153.  
  154.                               LIMITED SHAREWARE LICENSE
  155.  
  156.                       VMiX 386  may  be  copied  for others to
  157.                       tryout, subject to the following copying
  158.                       restrictions   specified  by  this  time
  159.                       limited license:
  160.  
  161.                       All copies  distributed  to  others must
  162.                       include a  copy of the  Copyright Notice,
  163.                       the Limited Shareware License, Disclaimer
  164.                       of All  Warranties  and Liabilities, and
  165.                       Liabilities,  and  the  Software License
  166.                       Agreement.
  167.  
  168.  
  169.  
  170.                                    Disclaimer of
  171.                            All Warranties and Liabilities
  172.  
  173.                       Commercial Software (ComSoft) Associates
  174.                       makes no warranties, either expressed or
  175.                       implied,  with respect to this manual or
  176.                       to the software described there in,  its
  177.                       quality,  performance,  merchantability,
  178.                       or  fitness for any particular  purpose.
  179.                       VMiX 386 is  sold  or  licensed `as is',
  180.                       and   is   for  use  by   the   original
  181.                       purchaser  only,  except as expanded  by
  182.                       the Limited Shareware License  described
  183.                       above.   The  entire  risk,  as  to  the
  184.                       quality  and  performance,  of the  VMiX
  185.                       experimental  system is with the  buyer.
  186.                       In  the event of loss or damage   caused
  187.                       or alleged to be caused by the VMiX  386
  188.                       program, the buyer (and not ComSoft, its
  189.                       distributors,  or its retailers) assumes
  190.                       the   entire   cost  of  all   necessary
  191.                       servicing,  repair,  or correction   and
  192.                       any  incidental or consequential damages
  193.                       resulting   from  any  defect   in   the
  194.                       software or its use, even if ComSoft has
  195.                       been advised of the possibility of  such
  196.                       damages.
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                              SOFTWARE LICENSE AGREEMENT
  203.  
  204.  
  205.                       The party, agrees that they will use the
  206.                       software entitled `VMiX 386' exclusively
  207.                       for  their  private  use  in  their  own
  208.                       personal system,  not to exceed 3 CPU's.
  209.                       The  party agrees that all copies of the
  210.                       VMiX   386  software  package  are   the
  211.                       property    of    Commercial    Software
  212.                       Associates, Westwood California and that
  213.                       all  copies  will display  the  original
  214.                       copyright.
  215.  
  216.                       The party agrees that the location of all
  217.                       copies  will  be reported  to Commercial
  218.                       Software Associates upon  written demand.
  219.                       The licensee agrees to fill out and mail
  220.                       this  registration   form  and   license
  221.                       within 30 days of the start of the  try-
  222.                       out  period  specified  by  the  Limited
  223.                       Shareware License shown above.   Support
  224.                       will be provided to registered licensees
  225.                       only.
  226.  
  227.                       The  party agrees that  unauthorized use
  228.                       under this  agreement  will cause  great
  229.                       damage to  the licensor, Commercial Soft-
  230.                       ware Associates.
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.                       ---------------------------------------
  272.                                                              |
  273.                                                              |
  274.                                                              |
  275.                                                              |
  276.                                                              |
  277.                         CONTENTS                             |
  278.                                                              |
  279.                                                              |
  280.                                                              |
  281.                                                              |
  282.                                                              |
  283.                       ---------------------------------------
  284.  
  285.  
  286.  
  287.  
  288.           INTRODUCTION                         Page
  289.  
  290.           Copyright Notice ...................   3
  291.           Software License Agreement .........   4
  292.           Table of Contents ..................   5
  293.           Quick Overview  ....................   7
  294.  
  295.           The Shell Commands ................. 1- 1
  296.                Command  1 - debug              1- 2
  297.                Command  2 - rshell             1- 3
  298.                Command  3 - remote             1- 4
  299.                Command  4 - swap               1- 6
  300.                Command  5 - chprio             1- 7
  301.                Command  6 - exec               1- 8
  302.                Command  7 - dosjob             1-10
  303.                Command  8 - spawn              1-11
  304.                Command  9 - kill               1-13
  305.                Command 10 - quit               1-14
  306.  
  307.           The Debugger Commands .............. 2- 1
  308.                Command  1 - assign             2- 2
  309.                Command  2 - deassign           2- 6
  310.                Command  3 - init               2- 7
  311.                Command  4 - examine            2- 8
  312.                Command  5 - set                2- 9
  313.  
  314.           The Utilities ...................... 3- 2
  315.                Utility  1 - ps                 3- 3
  316.                Utility  2 - dstat              3- 4
  317.                Utility  3 - dpath              3- 5
  318.                Utility  4 - loadup             3- 6
  319.                Utility  5 - outside            3- 7
  320.                Utility  6 - monitor            3- 8
  321.                Utility  7 - vt                 3-10
  322.                Utility  8 - vw                 3-12
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.                       ---------------------------------------
  339.                                                              |
  340.                                                              |
  341.                                                              |
  342.                                                              |
  343.                                                              |
  344.                         FIGURES:                             |
  345.                                                              |
  346.                                                              |
  347.                                                              |
  348.                                                              |
  349.                                                              |
  350.                       ---------------------------------------
  351.  
  352.  
  353.  
  354.            FIGURE     DESCRIPTION                    Page
  355.  
  356.            Fig. 1   Default Channel Assignments      1- 4
  357.                 2   Object type name definitions     2- 2
  358.                 3   Terminal Emulations Supported    2- 9
  359.                 4   Color Keys                       2-10
  360.                 5   Color Codes                      2-10
  361.                 6   Window Sizing Coordinates        2-12
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398. QUICK OVERVIEW
  399.  
  400.  
  401.    * VMiX provides the services of a multiuser operating system
  402.      supervisor.  The VMiX kernel ties tightly between the host
  403.      operating system I/O services and the user applications.
  404.      The goal of the VMiX kernel is to arbitrate the use of system
  405.      resources by individual tasks, in an environment providing up
  406.      to 16 megabytes of physical memory and virtualized devices.
  407.  
  408.    * The console screen can be automatically partitioned into up to
  409.      four windows, for a total of 4 tasks executing from the console.
  410.      The active task controls and responds to the console keyboard.
  411.      The active task can be switched, at any time, by pressing the
  412.      hot key, Shift-Tab.  In 386 mode, you can have fully virtualized
  413.      foregrounds, so each can be divided into up to four windows or
  414.      you can have full screen foregrounds ('dosjob -W') independent
  415.      from partitioned foregrounds.
  416.  
  417.    * VMiX does not need to operate in protected mode to multitask.
  418.      Hence, it can be used in 8088 PCs.  In 80286 mode, VMiX will
  419.      use protected mode only during task swapping.  In 80386 mode,
  420.      VMiX operates in protected mode at all times.  System services
  421.      are provided in SYSGATE.ASM to execute your own functions in
  422.      protected mode.
  423.  
  424.    * REMOTE permits a user to call a remote PC running VMiX, and
  425.      teleoperate, as if he were at the console of the remote PC.
  426.      Useful for remote customer support of application programs,
  427.      offsite login and operations.  VMiX terminal drivers provide
  428.      full CGA text mode emulation at a COMM port and will redirect
  429.      direct video writes when in 386 mode.
  430.  
  431.    * Multiple BASIC or GWBASIC interpreter sessions are supported.
  432.      Programs that write directly to video memory will also operate
  433.      from a COMM port when using VMiX in 386 mode.  In non-386
  434.      computers you need to use a remote host utility like 'Remote
  435.      Console'tm in conjunction with VMiX.  'Remote Console'tm is a
  436.      product of Louis Wheeler (805) 481-5687.
  437.  
  438.    * Supports a maximum of five users (only because of COMM port
  439.      limitations), each with multiple processes up to a maximum of
  440.      8 total.
  441.  
  442.    * SPAWN or '&' permits a script of VMiX shell commands to be
  443.      submitted to a background process executing the VMiX shell.
  444.      This allows for background jobs like compiling or printing by
  445.      a concurrent child process.
  446.  
  447.    * DOSJOB permits keyboard interactive applications to be
  448.      partitioned and managed as concurrent video display tasks.
  449.      The -W option allows a new task to use virtualized video memory
  450.      for their own separate display screen.  Their display screen
  451.      can be toggled to and from the foreground display.
  452.  
  453.    * VMiX supports graphics in CGA, MCGA, EGA, or VGA video modes.
  454.      Loadable fonts and up to 80 line displays (with VMiX font
  455.      type 1).
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.    * As explained in the manual, there are (5) five ways to execute
  465.      a DOS command, .BAT file, .COM file, or .EXE program:
  466.                      with 'exec' (now optional),
  467.                      with a command line trailing '&',
  468.                      with 'spawn -c ???? ...',
  469.                      with the 'dosjob [-W]' command,
  470.                   or (the easiest way) by pressing Shift-Enter
  471.                   at the end of your command line.
  472.  
  473.      When VMiX starts, unless you issued an 'exec -m<size in Kbytes>'
  474.      at the command line, VMiX will use memory partitions of 224Kb
  475.      for (8088/80286) programs or partitions of 576Kb in 386/486
  476.      processors.
  477.  
  478.    * Command line driven multitasking (default).
  479.      Optional, pull-down menus user shell.
  480.  
  481.    * A remote session facility for linking two or more VMiX hosts.
  482.  
  483.    * Console operator status line 'set video -s'
  484.  
  485.    * Built-in debugger
  486.        'debug'
  487.        'monitor -f'
  488.        'monitor -r'
  489.  
  490.    * Memory manager and memory mapper
  491.        'monitor -m'
  492.        'monitor -p'
  493.        'examine mcb'
  494.        'examine memory'
  495.  
  496.    * A TSR load-hi utility.
  497.  
  498.    * User specified windows at either the console or VT-100 COMM
  499.      terminal, with direct video write support.
  500.  
  501.    * Assembly and High Level Language interface.
  502.      Interrupt 15h VMiX System Services.
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.                                   PART ONE
  543.  
  544.  
  545.                                   VMiX 386
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.                                   REFERENCE
  555.  
  556.  
  557.                               THE SHELL COMMANDS
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.       The Shell Commands                                      page 1-1
  594.  
  595.  
  596.       C O M S O F T                                           VMiX 386
  597.  
  598.  
  599.  
  600.  
  601.       NAME: debug
  602.       ____
  603.  
  604.       OUTLINE:
  605.       _______
  606.  
  607.       Purpose:  To invoke the VMiX debugger shell.
  608.       _______   This token is now obsolete, since all the debug
  609.                 commands can be invoked without the 'debug' prefix
  610.                 (from the Root Shell).
  611.  
  612.  
  613.       DESCRIPTION:
  614.       ___________
  615.  
  616.       debug is a root shell token.  This command has 6 sub-tokens:
  617.  
  618.       set, init, examine, assign, deassign, and quit. 
  619.  
  620.      'debug', by itself, invokes the VMiX debugger shell.  The
  621.       debugger shell prompt is  '- __________'.  Once in the debugger
  622.       shell, all the debug sub-tokens become first level tokens and
  623.       you do not have to preceed them with the token 'debug'.
  624.  
  625.       VMiX accepts numeric input in two forms, decimal or hexadecimal.
  626.       To enter hexadecimal numbers, preceede the number with the
  627.       characters '0x'.
  628.  
  629.       To return to the root shell, from the debugger use the token
  630.       'quit'.
  631.  
  632.       NOTE:  All six debugger sub-tokens can be used from the root
  633.       shell level, whether you precede them with the token 'debug',
  634.       or not.  If used with the prefix 'debug', you will moved to the
  635.       debugger shell when the current command completes.  Without the
  636.       prefix, you will remain at the root shell level.
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.       The Shell Commands                                      page 1-2
  660.  
  661.  
  662.       C O M S O F T                                           VMiX 386
  663.  
  664.  
  665.  
  666.  
  667.       NAME: rshell
  668.       ____
  669.  
  670.       OUTLINE:
  671.       _______
  672.  
  673.       Purpose:  To start a new shell.
  674.       _______
  675.  
  676.  
  677.       DESCRIPTION:
  678.       ___________
  679.  
  680.       rshell is mainly intended for use with the 'dosjob' command.
  681.       When used with 'dosjob', a new process will be started and an
  682.       rshell will be used as the command interpreter, in other words
  683.       a new VMiX shell will be started.  The 'quit' command will close
  684.       the shell and terminate the process.
  685.  
  686.       When 'rshell' is used as a command, by itself, a nested rshell
  687.       will be started under the current VMiX shell.  The 'quit'
  688.       command will cause a return to the previous shell.
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.       The Shell Commands                                      page 1-3
  726.  
  727.  
  728.       C O M S O F T                                           VMiX 386
  729.  
  730.  
  731.  
  732.  
  733.       NAME: remote
  734.       ____
  735.  
  736.       OUTLINE:
  737.       _______
  738.  
  739.         -a  " toggles global polling ON/OFF"
  740.         -c  " sets remote console channel"
  741.         -i  " toggles fast RS232 ON/OFF"
  742.         -l  " sets terminal login channel"
  743.         -x  " toggles remote logins ON/OFF"
  744.  
  745.       Purpose:  To control your PC's remote serial capabilities via a
  746.       _______   modem or terminal connection.
  747.  
  748.  
  749.       DESCRIPTION:
  750.       ___________
  751.  
  752.       Normally, VMiX only polls the channel specified with the
  753.       'remote -l' command or the 'set remote -l' command for new
  754.       user logins.  The default channel is 1, equivalent to COM1.
  755.       Other tasks can be currently using other channels, this command
  756.       only affects which channel is currently being listened to for
  757.       new user logins.
  758.  
  759.       The 'remote -a' command is equivalent to the 'set remote -a'
  760.       command it tells VMiX to listen on all ports.  This slows the
  761.       scheduler, so it is not the default.
  762.  
  763.       The root shell command 'remote -c' will terminate VMiX, but
  764.       it first assigns STDIO to the channel specified after the -c
  765.       switch.  Therefore, MS-DOS resumes at the device associated with
  766.       the channel.  This command is different from the command
  767.       'set remote -c', which relocates the console but does not
  768.       terminate VMiX.
  769.  
  770.       Pressing <Ctrl> F from the terminal, followed by a <Ctrl> Z,
  771.       will effect an emergency return to the console video and
  772.       keyboard.  The correct way to return is to use the 'assign' to
  773.       PROCESS command and assign the process channel 0.
  774.  
  775.       The 'remote -l' command is equivalent to the 'set remote -l'
  776.       command.  Both set the currently polled channel for new logins.
  777.       Use 'examine status' to display the current assignment.
  778.  
  779.       The 'remote -x' command is equivalent to the 'set remote -x'
  780.       command.  They act as a toggle to disable or enable all logins.
  781.       The default state is logins enabled.  Use 'examine status' to
  782.       display the current state.
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.       The Shell Commands                                      page 1-4
  792.  
  793.  
  794.       C O M S O F T                                           VMiX 386
  795.  
  796.  
  797.       DEFAULT CHANNEL ASSIGNMENTS:
  798.  
  799.       0      CONSOLE
  800.       1      COM1 serial port
  801.       2      COM2 serial port
  802.       3      COM3 serial port
  803.       4      COM4 serial port
  804.       5      LPT1 printer device
  805.  
  806.       Example batch file to start VMiX and go remote to COM1.  If the
  807.       terminal type is to be a VT-100, then the batch file would
  808.       contain the command line:
  809.  
  810.       vm_boot set terminal -t4 / remote -c1
  811.  
  812.  
  813.       While in REMOTE mode, FUNCTION KEY emulation can be toggled by
  814.       pressing the <Ctrl> F keys (one beep) from the terminal's
  815.       keyboard.
  816.  
  817.       Note that the digit (numbers) keys on the terminal's keyboard
  818.       will now act as [F0] through [F9] keys.  The [Ins], [Del], and
  819.       [End] keys can now be invoked by pressing ^I,  ^D,  and  ^E
  820.       respectively.  The terminal's arrow keys and [Home] key will
  821.       simulate these keys and the terminal's <Shift> key will act as
  822.       the IBM PC's <Alt> key (See Figure 3).
  823.  
  824.       Press ^F a second time (two beeps) to return to numeric keys.
  825.  
  826.  
  827.       The 'remote -i' command is equivalent to the 'set remote -i'
  828.       command it allows the user to toggle ON/OFF the VMiX INT 14h
  829.       interrupt driven serial port driver.
  830.  
  831.       To enable the port for fast, interrupt driven communications
  832.       you must issue a 'remote -i' followed by a 'set baud -c'
  833.       command to open the port.
  834.  
  835.       When in fast COMM mode, 110 baud becomes 19.2 Kbaud, 150 baud
  836.       becomes 38.4 Kbaud, and 600 baud becomes 115.2 Kbaud.  To set
  837.       115.2 Kbaud you would use 'set baud -c1 600'.
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.       The Shell Commands                                      page 1-5
  858.  
  859.  
  860.       C O M S O F T                                           VMiX 386
  861.  
  862.  
  863.  
  864.  
  865.       NAME: swap
  866.       ____
  867.  
  868.       OUTLINE:
  869.       _______
  870.  
  871.       Purpose:  To swap a task to/from extended memory.
  872.       _______
  873.  
  874.  
  875.       DESCRIPTION:
  876.       ___________
  877.  
  878.       This is the VMiX task switcher function.  It will move a task
  879.       to and from extended memory.  When a task is in extended memory
  880.       it will be inactive until swapped back by the user.  If you have
  881.       toggled the swapper with the 'set system -s' command, then the
  882.       VMiX scheduler will regularly move the task down to conventional
  883.       memory for a timeslice of the computer and swap it back to let
  884.       other tasks execute.
  885.  
  886.       The command syntax is:
  887.  
  888.            swap [ process id ]
  889.  
  890.  
  891.       If a process is in low memory, it will be swapped to extended
  892.       memory.  If the process is already swapped, then it will be
  893.       moved back to low memory and resume execution.
  894.  
  895.       Swapped processes will not normally execute, and will stay
  896.       suspended until they are swapped again to low memory.
  897.  
  898.       To allow swapped tasks to also execute, (less frequently than
  899.       in-memory  tasks) use the command 'set system -s' to inform the
  900.       scheduler to include swapped tasks.  The default is no
  901.       time-slice scheduling for swapped tasks.
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.       The Shell Commands                                      page 1-6
  924.  
  925.  
  926.       C O M S O F T                                           VMiX 386
  927.  
  928.  
  929.  
  930.  
  931.       NAME: chprio
  932.       ____
  933.  
  934.       OUTLINE:
  935.       _______
  936.  
  937.       Purpose:  To change the executing priority of a VMiX process.
  938.       _______
  939.  
  940.  
  941.       DESCRIPTION:
  942.       ___________
  943.  
  944.       All VMiX processes are assigned a default base priority of 7,
  945.       at start-up.  Priorities are adjusted constantly by the
  946.       scheduler.  They dynamically change within the range 2 through
  947.       the assigned base maximum for the process.  When you use the
  948.       command 'chprio', you set the base maximum priority a process is
  949.       allowed to float to.  VMiX uses this float, for example, to 'up'
  950.       the priority of a process, when the keyboard is used.  Task
  951.       switching, also adjusts the current priority.  A process with a
  952.       base priority of 14 will execute twice as fast as another at
  953.       priority 7, all other things being equal.  A process with
  954.       priority 1 will not execute at all.  It will sleep until you
  955.       'up' the priority above 1, with 'chprio'.
  956.  
  957.       VMiX priorities range from a high of 31 to a low of 0.  The
  958.       scheduler always chooses the process with the highest current
  959.       priority.  The scheduler round robin's processes with the same
  960.       priority.  After a task executes for its timeslice duration, its
  961.       current priority is dropped by 1, to allow other lower priority
  962.       tasks to execute.  When the priority drops to 2, the priority of
  963.       the process is reset to the base maximum.
  964.  
  965.       The token 'chprio' is used to change the base and current
  966.       priority of any process to a new value.  The effect of the
  967.       command is to set the base maximum priority for the process and
  968.       at the same time make the current priority equal to the
  969.       specified base.
  970.  
  971.       The command syntax is:
  972.  
  973.         chprio [ pid [ / priority ] ]
  974.  
  975.       where, pid is the process id of the target process, and
  976.       priority is a value between 0 - 31.  If only chprio is entered,
  977.       then the shell will prompt for the two arguments.  The default
  978.       pid, if you only press <ENTER>, is the current process id
  979.       The default priority is the base priority of the target process.
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.       The Shell Commands                                      page 1-7
  990.  
  991.  
  992.       C O M S O F T                                           VMiX 386
  993.  
  994.  
  995.  
  996.  
  997.       NAME: exec
  998.       ____
  999.  
  1000.       OUTLINE:
  1001.       _______
  1002.  
  1003.         -m  " sets transient program memory partition size:
  1004.               (0 - 1024K)"
  1005.  
  1006.       Purpose:  To execute a valid MS-DOS file or command or to set
  1007.       _______   the program partition size in kilobytes.
  1008.  
  1009.  
  1010.       DESCRIPTION:
  1011.       ___________
  1012.  
  1013.       This command provides a direct but limited interface to MS-DOS.
  1014.       The 'exec' token can be used (with no switches) to execute any
  1015.       MS-DOS command string from within a VMiX root shell.  The main
  1016.       purpose of exec is to execute an MS-DOS file.  It can be invoked
  1017.       by itself or in conjunction with the spawn token.
  1018.  
  1019.       'exec' is normally not explicitly used from a VMiX shell, since
  1020.       VMiX passes commands it does not recognize to MS-DOS.  However,
  1021.       in case of a name conflict between a VMiX comand and an MS-DOS
  1022.       command, you would need to use 'exec' explicitly.  Example:
  1023.       'exec set' or 'exec debug.com'.
  1024.  
  1025.       The command syntax is:
  1026.  
  1027.            exec [ MS-DOS command ]
  1028.  
  1029.       The utility of 'exec' for invoking executable images from within
  1030.       a VMiX process is limited because 'exec' uses the MS-DOS
  1031.       command.com loader.  The MS-DOS loader makes assumptions about
  1032.       memory allocation, which do not conform to a multiuser
  1033.       environment like VMiX.
  1034.  
  1035.       In non-386 mode, two or more VMiX processes can use the 'exec'
  1036.       command to access MS-DOS provided that:
  1037.  
  1038.       a) All transient program memory has not been previously
  1039.          grabbed by a program (.COM programs will do this, as well
  1040.          as some .EXE program).
  1041.  
  1042.          The -m switch is used with the 'exec' command to control the
  1043.          amount of memory that .COM or .EXE programs will be allowed
  1044.          to grab.  The amount of memory made available to individual
  1045.          programs, is refered to as the partition size.
  1046.  
  1047.          The command syntax is:
  1048.  
  1049.              exec -m [ max. Kbytes ]
  1050.  
  1051.          where, the number of Kbytes specified sets the partition size
  1052.          and limits the amount of memory that a program can allocate.
  1053.  
  1054.  
  1055.       The Shell Commands                                      page 1-8
  1056.  
  1057.  
  1058.       C O M S O F T                                           VMiX 386
  1059.  
  1060.  
  1061.          Example:  'exec -m128<ENTER>', will limit programs to a
  1062.          maximum of 128 kilobytes.
  1063.  
  1064.  
  1065.       b) MS-DOS is not busy with a nested function call beyond the
  1066.          initial 'exec' call from VMiX.  If another VMiX process has
  1067.          also invoked MS-DOS services that have not completed, then
  1068.          VMiX will wait for MS-DOS to say that it can handle another
  1069.          request.
  1070.  
  1071.          When VMiX encounters this situation, it will print a message:
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.       The Shell Commands                                      page 1-9
  1122.  
  1123.  
  1124.       C O M S O F T                                           VMiX 386
  1125.  
  1126.  
  1127.  
  1128.  
  1129.       NAME: dosjob
  1130.       ____
  1131.  
  1132.       OUTLINE:
  1133.       _______
  1134.  
  1135.         -W  " gives process the full screen"
  1136.  
  1137.       Purpose:  To execute an MS-DOS command, and/or a series of VMiX
  1138.       _______   shell commands, in full screen or automatic window.
  1139.  
  1140.  
  1141.       DESCRIPTION:
  1142.       ___________
  1143.  
  1144.       'dosjob' spawns a child process that executes a string of
  1145.       commands, input immediately following, and on the same
  1146.       line as the 'dosjob' token.
  1147.  
  1148.       This command provides the main interface to multitasking and
  1149.       MS-DOS.  The main purpose of 'dosjob' is to execute an MS-DOS
  1150.       file or command.  It can also be invoked in conjunction with
  1151.       other VMiX shell commands.  For example, a 'dosjob', can include
  1152.       another 'dosjob' command in its job string.
  1153.  
  1154.       The difference between 'dosjob' and 'exec', is twofold.
  1155.       'dosjob' will start a new process to execute the job string,
  1156.       while 'exec' will use the current process.  Second, 'dosjob',
  1157.       (without the -W option) will open a new window for the process,
  1158.       while 'exec' will use the bounds of the current shell process.
  1159.  
  1160.       The command syntax is:
  1161.  
  1162.           dosjob [-W] [ MS-DOS command ]
  1163.                  [ / [ command ] /... ]
  1164.  
  1165.  
  1166.       NOTE:  'dosjob' essentially performs an 'assign' of a new
  1167.              SRCSINK channel to the console, followed by a 'set
  1168.              video -W' and a 'spawn' of a new child process, to
  1169.              execute the input command string.
  1170.  
  1171.  
  1172.       NOTE:  There is a direct keyboard combination to invoke a
  1173.              'dosjob'.  Pressing Shift-Enter or Shift-Shift-Enter,
  1174.              will start a new task, just as if you had typed 'dosjob'.
  1175.              The Shift-Enter is used, instead of just the Enter key,
  1176.              after typing a command.  If both Shift toggles are
  1177.              pressed when the Enter key is hit, the new task will use
  1178.              the full screen.  If only one Shift is held down, the
  1179.              task will start in a new window.
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.       The Shell Commands                                     page 1-10
  1188.  
  1189.  
  1190.       C O M S O F T                                           VMiX 386
  1191.  
  1192.  
  1193.  
  1194.  
  1195.       NAME: spawn
  1196.       ____
  1197.  
  1198.       OUTLINE:
  1199.       _______
  1200.  
  1201.         -c  " sets spawn I/O channel and shell script"
  1202.  
  1203.       Purpose:  To dispatch a background task to be performed
  1204.       _______   independently and concurrently with everything else.
  1205.  
  1206.  
  1207.       DESCRIPTION:
  1208.       ___________
  1209.  
  1210.       'spawn' creates a new child process, owned by the invoking
  1211.       shell.  The channel specified immediately after the -c switch
  1212.       becomes the STDIO channel for the new process.  After the
  1213.       channel number, a script of VMiX shell commands can be entered.
  1214.       Multiple commands are input, separated by a valid VMiX delimiter
  1215.       ('/' ',' tab or space).
  1216.  
  1217.       The command syntax is:
  1218.  
  1219.            spawn -c???? [ [ command ] /... ]
  1220.  
  1221.       A way to implement EMAIL in your system, is to have a user spawn
  1222.       an exec job to somebody else's channel, where the 'exec' merely
  1223.       types a newly created text message file:
  1224.  
  1225.         spawn -c1 / exec type b:\news\myfile.txt
  1226.  
  1227.  
  1228.       A more elegant way is to assign a new channel to the device COM1
  1229.       or COM?, so that we can create a window without disturbing the
  1230.       user.  If a window is created on the user's own channel, then we
  1231.       have modified his environment from our side.
  1232.  
  1233.       By using 'dstat -a', we can determine the port # to use to talk
  1234.       with our target user.  In VMiX, ports refers to physical
  1235.       devices, and channels are logical connections to those devices.
  1236.       Assume we determined that he is using COM1.  From the debugger
  1237.       shell, we first enable system messages, to see what channel
  1238.       number VMiX will allocate during our 'assign' command:
  1239.  
  1240.         set system -m    (enables manager msgs.)
  1241.  
  1242.       then we grab a channel,
  1243.  
  1244.         assign srcsink 1     (the 1 requests COM1, if you prefer to be
  1245.                               prompted, just type 'assign')
  1246.  
  1247.       assume that we were informed that channel 6 was assigned, then:
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.       The Shell Commands                                     page 1-11
  1254.  
  1255.  
  1256.       C O M S O F T                                           VMiX 386
  1257.  
  1258.  
  1259.       now we 'spawn' to channel 6,
  1260.  
  1261.         spawn -c6 / set video -w1 40 10 79 / type b:\news\myfile.txt
  1262.  
  1263.  
  1264.       This created a 10 x 40 window (via channel 6) at the top right
  1265.       corner of his display.  In the example above, the command
  1266.       'set video -W' could have been used, in place of our manual
  1267.       'set video -w....' .
  1268.  
  1269.       Still, a better EMAIL system could be written using the VMiX
  1270.       API System Services listed in sysgate.asm.
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.       The Shell Commands                                     page 1-12
  1320.  
  1321.  
  1322.       C O M S O F T                                           VMiX 386
  1323.  
  1324.  
  1325.  
  1326.  
  1327.       NAME: kill
  1328.       ____
  1329.  
  1330.       OUTLINE:
  1331.       _______
  1332.  
  1333.       Purpose:  To terminate the execution of an image (.EXE or .COM)
  1334.       _______   from a process other than the owner.  If the target
  1335.                 process shell is not executing an image, then the
  1336.                 process is killed.
  1337.  
  1338.  
  1339.       DESCRIPTION:
  1340.       ___________
  1341.  
  1342.       'kill' allows a hard terminate of a process or image to be
  1343.       commanded from another process.  This command has two levels
  1344.       of action.  If the target process shell is executing an image
  1345.       started by a previous exec call, then that image is terminated
  1346.       via an MS-DOS INT 20h system call.  If no image is being
  1347.       executed then 'kill' will terminate the target process.
  1348.  
  1349.       The command syntax is:
  1350.  
  1351.         kill [ process id ]
  1352.  
  1353.       The utility 'PS.EXE', will list all active (pid's) process id's.
  1354.  
  1355.       SECURITY:  The kill command will normally not allow a user to
  1356.       ________   terminate another user's process.  Only root or the
  1357.                  'su' superuser has the access priviledge to terminate
  1358.                  all/any.  A regular user can only terminate his own
  1359.                  spawned processes.
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.       The Shell Commands                                     page 1-13
  1386.  
  1387.  
  1388.       C O M S O F T                                           VMiX 386
  1389.  
  1390.  
  1391.  
  1392.  
  1393.       NAME: quit
  1394.       ____
  1395.  
  1396.       OUTLINE:
  1397.       _______
  1398.  
  1399.       Purpose:  To terminate the shell and exit.
  1400.       _______
  1401.  
  1402.  
  1403.       DESCRIPTION:
  1404.       ___________
  1405.  
  1406.       'quit' decrements a process's shell level (number of nested
  1407.       shells) by one and returns to the previous shell, if any.
  1408.       The root shell is VMiX's top shell for any given user process
  1409.       If this command is invoked at the root shell level, the user
  1410.       process is ended.
  1411.  
  1412.       Normally, the first process started at the console has root
  1413.       privilege.  If the process has privilege and is also the root
  1414.       VMiX process, then VMiX is also terminated.
  1415.  
  1416.       In other words, if you are at the first VMiX shell you type
  1417.       'quit' to end VMiX and return to DOS, otherwise 'quit' will just
  1418.       terminate the current shell or process.
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.       The Shell Commands                                     page 1-14
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.                                     PART TWO
  1464.  
  1465.  
  1466.                                     VMiX 386
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.                                     REFERENCE
  1476.  
  1477.  
  1478.                               THE DEBUGGER COMMANDS
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.       The Debugger Commands                                   page 2-1
  1518.  
  1519.  
  1520.       C O M S O F T                                           VMiX 386
  1521.  
  1522.  
  1523.  
  1524.  
  1525.       NAME: assign
  1526.       ____
  1527.  
  1528.       OUTLINE:
  1529.       _______
  1530.  
  1531.       'assign' allocates a VMiX channel to an owner UID (universal id)
  1532.       and assigns a VMiX object to the channel.
  1533.  
  1534.       'assign' allocates extended memory.
  1535.  
  1536.       'assign gdt' allocates a VMiX 386 global descriptor table entry,
  1537.       returning a new segment selector for either code or data.
  1538.  
  1539.  
  1540.       DESCRIPTION:
  1541.       ___________
  1542.  
  1543.  
  1544.       VMiX CHANNEL MANAGER OVERVIEW
  1545.       _____________________________
  1546.  
  1547.       The function of the channel manager is usually transparent to
  1548.       the user, but experienced users can make use of the low level
  1549.       interface and manipulate channels directly.
  1550.  
  1551.       The VMiX input/output system consists of I/O objects and I/O
  1552.       channels.  All VMiX objects are assigned an universal identifier
  1553.       or UID, including processes.  The 'assign' command is provided
  1554.       to establish connections between objects by assigning channels
  1555.       that link the connection, usually to an external port number.
  1556.       These assigned channels can then be referenced by other VMiX
  1557.       commands.
  1558.  
  1559.       The basic VMiX objects consist of the following:
  1560.  
  1561.         OBJECT TYPE NAME DEFINITIONS
  1562.  
  1563.         PROCESS   type is a process
  1564.         SRCSINK   type is a tty terminal
  1565.         CHRSINK...type is a printer
  1566.         DSKFILE   type is a file
  1567.         MEMORY    type is a memory block
  1568.         BLKSINK   type is a disk drive
  1569.         MANAGER   type is an obj manager or driver
  1570.         MAILBOX   type is a mailbox
  1571.         DATLINK   type is a data link
  1572.  
  1573.  
  1574.         PORTS     these are external resources like serial COMM ports
  1575.                   or LPT printer ports (they are sequentially numbered
  1576.                   starting at 0).
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.       The Debugger Commands                                   page 2-2
  1584.  
  1585.  
  1586.       C O M S O F T                                           VMiX 386
  1587.  
  1588.  
  1589.       Internally, objects are assigned a numeric identifier or UID.
  1590.       These can be listed by the utility 'DSTAT.EXE'.  Channel numbers
  1591.       are assigned sequentially on a first use basis.  Deassigned or
  1592.       free channel numbers are reused. 'assign' can be used to
  1593.       allocate extended memory, to establish channels to external
  1594.       ports, and to assign channels to processes.
  1595.  
  1596.  
  1597.       The general syntax for the 'assign' command is:
  1598.  
  1599.         assign [ client UID / process id ] [ object type ]
  1600.                [ target port / channel id ]
  1601.  
  1602.       where,
  1603.  
  1604.       UID is the identification of the new owner for the channel.
  1605.       Note:  if the owner is to be a process, the PID is equivalent to
  1606.       the UID of the process.
  1607.  
  1608.       If client process id is omitted, it defaults to the current
  1609.       process.
  1610.  
  1611.  
  1612.       The object type is one of the 9 type names described above.
  1613.       The complete name must be typed, in upper or lower case.
  1614.  
  1615.       Ports available for use with SRCSINK type objects (terminals):
  1616.  
  1617.         0   The Root Console
  1618.         1   COM1:
  1619.         2   COM2:
  1620.         3   COM3:
  1621.         4   COM4:
  1622.  
  1623.  
  1624.       Ports available for use with CHRSINK type objects (printers):
  1625.  
  1626.         1   LPT1:
  1627.         2   LPT2:
  1628.  
  1629.  
  1630.  
  1631.       This command syntax creates a channel by linking it to a port:
  1632.  
  1633.       If object type is SCRSINK, then the third argument is a COMM
  1634.       port (0-4), where 0 refers to the console and 1 - 4 are serial
  1635.       ports.
  1636.  
  1637.       If object type is CHRSINK, then the third argument is an LPT
  1638.       port (1-2).
  1639.  
  1640.  
  1641.  
  1642.       This command syntax assigns a previously created channel to a
  1643.       running process:
  1644.  
  1645.       If object type is PROCESS, then the third argument is a
  1646.       previously assigned channel id.
  1647.  
  1648.  
  1649.       The Debugger Commands                                   page 2-3
  1650.  
  1651.  
  1652.       C O M S O F T                                           VMiX 386
  1653.  
  1654.  
  1655.       You can use the 'assign process' syntax to assign a new STDIO
  1656.       channel to your executing process.  The original STDIO channel
  1657.       of the process will remain available for restoring the process
  1658.       back to its original state.  You must repeat the 'assign', and
  1659.       give the process its old channel id.
  1660.  
  1661.        The general syntax for the 'assign process' command is:
  1662.  
  1663.                assign [ client process id ] PROCESS
  1664.                       [ channel id to assign ]
  1665.  
  1666.       If client process id is omitted, it defaults to the current
  1667.       process.  The new channel you assign must already exist.
  1668.  
  1669.       You can reassign a process standard I/O (keyboard and video) to
  1670.       the console, to a COMM port, or to a printer type channel.  For
  1671.       example, to redirect process #1 (use PS.EXE to get the process
  1672.       id) to COM2 (channel #2), you would type:
  1673.  
  1674.                assign 1 PROCESS 2
  1675.  
  1676.       Again, VMiX will prompt you for any arguments missing after the
  1677.       'assign' command, except for the first argument which is an
  1678.       optional argument.
  1679.  
  1680.  
  1681.  
  1682.       This command syntax assigns an extended memory block:
  1683.  
  1684.       If object type is MEMORY, then the third argument is a block
  1685.       size in bytes, to assign to the channel.  The size will be
  1686.       rounded-up to the nearest 64k block.  Only extended memory can
  1687.       be allocated by this command.
  1688.  
  1689.       The extended memory pool can be listed with the utility
  1690.       'MONITOR.EXE -p'.
  1691.  
  1692.  
  1693.       NOTE:  To be informed, on the screen, of the channel assigned by
  1694.       this command, use the debugger command 'set system -m' to enable
  1695.       channel manager messages, before the assign.
  1696.  
  1697.       NOTE:  When assigning a channel to a SRCSINK that is going to be
  1698.       used for logins, the UID identifing the new owner of the channel
  1699.       must be set to 0, to indicate the UID of the scheduler,
  1700.       (example, 'assign 0 srcsink 1').
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.       The Debugger Commands                                   page 2-4
  1716.  
  1717.  
  1718.       C O M S O F T                                           VMiX 386
  1719.  
  1720.  
  1721.       Assigning 386 Global Descriptors:
  1722.  
  1723.       The command syntax is:
  1724.  
  1725.         assign gdt [ access [ / size ] [ / segment ] ]
  1726.  
  1727.  
  1728.       where,
  1729.  
  1730.       access is usually entered as the word 'code', if the segment is
  1731.       a code segment or as the word 'data', if the access byte of the
  1732.       gdt descriptor is to be set to data segment access rights.  The
  1733.       user can also enter a decimal or hexadecimal value, if he wishes
  1734.       to override the default access rights value that VMiX uses for
  1735.       its segments.
  1736.  
  1737.       The parameters can be entered in hexadecimal, using the format
  1738.       0x????  (example, 'assign gdt 0x9B 10 0xF000'
  1739.                or       'assign gdt code 10 0xF000').
  1740.       size is the size that the segment is to have, specified as the
  1741.       number of 512 Byte pages.
  1742.  
  1743.       segment is the segment address in physical memory that the
  1744.       selector is to translate to, when loaded onto a segment
  1745.       register.
  1746.  
  1747.       If mamager messages are enabled, this command will return a new
  1748.       selector id.
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.       The Debugger Commands                                   page 2-5
  1782.  
  1783.  
  1784.       C O M S O F T                                           VMiX 386
  1785.  
  1786.  
  1787.  
  1788.  
  1789.       NAME: deassign
  1790.       ____
  1791.  
  1792.       OUTLINE:
  1793.       _______
  1794.  
  1795.            'deassign' deallocates a VMiX channel.
  1796.  
  1797.            'deassign gdt' deallocates a VMiX gdt selector.
  1798.  
  1799.            'deassign mem' deallocates a VMiX extended memory block.
  1800.  
  1801.  
  1802.       DESCRIPTION:
  1803.       ___________
  1804.  
  1805.       The command syntax is:
  1806.  
  1807.         deassign [ channel ]
  1808.  
  1809.       where,
  1810.  
  1811.       channel specifies the channel number to deassign.  This can be a
  1812.       dangerous command to execute, since STDIO to the root console
  1813.       (channel  0) could be deassigned, freezing the console.  If no
  1814.       other shell is running, there is no way to assign the STDIO to
  1815.       the root console again.
  1816.  
  1817.       NOTE:  To be informed, on the screen, of the channel and
  1818.       IO Request Packets (IRP) deassigned by this command, use the
  1819.       debugger shell command 'set system -m' to enable channel manager
  1820.       messages, before the 'deassign'.
  1821.  
  1822.  
  1823.  
  1824.       The command syntax is:
  1825.  
  1826.         deassign gdt [ selector ]
  1827.  
  1828.  
  1829.       where,
  1830.  
  1831.       selector is the gdt selector returned by an 'assign gdt'.
  1832.  
  1833.  
  1834.  
  1835.       The command syntax is:
  1836.  
  1837.         deassign mem [ page ]
  1838.  
  1839.  
  1840.       where, page is the extended memory page to return to the free
  1841.       memory pool.  The memory was previously assigned with the
  1842.       'assign' command.
  1843.  
  1844.       The extended memory pages can be listed with the utility
  1845.       'MONITOR.EXE -p'.
  1846.  
  1847.       The Debugger Commands                                   page 2-6
  1848.  
  1849.  
  1850.       C O M S O F T                                           VMiX 386
  1851.  
  1852.  
  1853.  
  1854.  
  1855.       NAME: init
  1856.  
  1857.       OUTLINE:
  1858.  
  1859.       comm
  1860.         -c  " sets communications:
  1861.               chan, baud, parity, word, stop"
  1862.  
  1863.       print
  1864.         -p  " inits parallel port: chan"
  1865.  
  1866.  
  1867.       DESCRIPTION:
  1868.       ___________
  1869.  
  1870.       (See 'set baud'.)
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.       The Debugger Commands                                   page 2-7
  1914.  
  1915.  
  1916.       C O M S O F T                                           VMiX 386
  1917.  
  1918.  
  1919.  
  1920.  
  1921.       NAME: examine
  1922.       ____
  1923.  
  1924.       OUTLINE:
  1925.       _______
  1926.  
  1927.       mcb      " displays information on the MS-DOS memory control
  1928.                  blocks"
  1929.  
  1930.       memory   " displays or modifies memory"
  1931.  
  1932.       status   " displays system configuration"
  1933.  
  1934.  
  1935.       DESCRIPTION:
  1936.       ___________
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.       The Debugger Commands                                   page 2-8
  1980.  
  1981.  
  1982.       C O M S O F T                                           VMiX 386
  1983.  
  1984.  
  1985.  
  1986.  
  1987.       NAME: set
  1988.       ____
  1989.  
  1990.       OUTLINE:
  1991.       _______
  1992.  
  1993.       This is the basic configuration function.  There are several
  1994.       keywords that can be given after the 'set' token to further
  1995.       specify the area for configuration.
  1996.  
  1997.       baud
  1998.         -c  " sets communications:
  1999.               chan, baud, parity, word, stop"
  2000.  
  2001.       dos
  2002.         -f  " toggles DOS process file inherit ON/OFF"
  2003.         -n  " sets DOS INT21 function maximum nesting level"
  2004.         -p  " sets DOS current process PSP: nuPSP(seg)"
  2005.         -s  " sets DOS virtual size: nusize (4Kb blocks)"
  2006.  
  2007.       font
  2008.         -t  " sets font type: (0 - 3)"
  2009.  
  2010.       pool
  2011.         -a  " adjusts program memory: MCB(seg), nusize(para)"
  2012.         -m  " sets program partition size: (0 - 1024K)"
  2013.         -o  " sets program memory owner: MCB(seg), nuPSP(seg)"
  2014.  
  2015.       process
  2016.         -b  " sets process shell buffer size: (0 - 127)"
  2017.         -e  " toggles environment protection ON/OFF"
  2018.         -h  " toggles hardware priviledge ON/OFF"
  2019.         -s  " toggles system priviledge ON/OFF"
  2020.         -w  " sets preemption I/O wait cycles: count"
  2021.  
  2022.       remote
  2023.         -a  " toggles global polling ON/OFF"
  2024.         -c  " sets remote console channel"
  2025.         -i  " toggles fast RS232 ON/OFF"
  2026.         -l  " sets terminal login channel"
  2027.         -x  " toggles remote logins ON/OFF"
  2028.  
  2029.       system
  2030.         -c  " toggles cursor emulation ON/OFF"
  2031.         -d  " sets duration of task slice: tickcnt - 1"
  2032.         -m  " toggles operator messages ON/OFF"
  2033.         -s  " toggles swapper ON/OFF"
  2034.         -t  " toggles scheduler ON/OFF"
  2035.         -v  " toggles maximum DOS size ON/OFF"
  2036.         -w  " sets shutdown wait delay: seconds"
  2037.  
  2038.       terminal
  2039.         -t  " sets terminal type: (0 - 9)"
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.       The Debugger Commands                                   page 2-9
  2046.  
  2047.  
  2048.       C O M S O F T                                           VMiX 386
  2049.  
  2050.  
  2051.       video
  2052.         -c  " sets video background/foreground colors"
  2053.         -C  " sets window background/foreground colors"
  2054.         -m  " sets video mode: (0 - 18)"
  2055.         -p  " sets video page: (0 - 3)"
  2056.         -s  " toggles status display ON/OFF"
  2057.         -w  " sets window size: row0, col0, row1, col1"
  2058.         -W  " auto partitions task windows (Shift-Tab toggles kbd)"
  2059.  
  2060.  
  2061.       DESCRIPTION:
  2062.       ___________
  2063.  
  2064.       VMiX MEMORY
  2065.       ___________
  2066.  
  2067.       set pool
  2068.  
  2069.       The -m  switch can be used to control the amount of memory .COM
  2070.       or .EXE programs can grab.  This command is equivalent to 'exec
  2071.       -m'.
  2072.  
  2073.       The command syntax is:
  2074.  
  2075.         set pool -m [ max. K bytes ]
  2076.  
  2077.  
  2078.       The -a switch is provided with the 'set  pool'  command, to
  2079.       allow for the release of memory previously allocated by MS-DOS
  2080.       or to change the size of an MS-DOS memory control block.  This
  2081.       option can also be used to increase or decrease a VMiX memory
  2082.       control block, and hence the number of pages of memory in the
  2083.       conventional memory pool.  The function depends on whether the
  2084.       segement address passed is for an MS-DOS MCB, or a VMiX MCB.  In
  2085.       the later case, the paged memory pool is affected.  This can be
  2086.       a dangerous option.  To help in determining the arguments for
  2087.       this switch, use the command 'examine mcb'.  It will list the
  2088.       memory control block chain, in low memory.
  2089.  
  2090.       The command syntax is:
  2091.  
  2092.         set pool -a [ MCB address [ / nusize ] ]
  2093.  
  2094.  
  2095.       where,
  2096.  
  2097.       the segment address of the MCB and nusize must be specified only
  2098.       in hexadecimal format.  (example, 'set pool -a 26F0 / AF8).
  2099.  
  2100.  
  2101.       The -o switch is provided to allow for the change of ownership
  2102.       of memory previously allocated by MS-DOS.
  2103.  
  2104.       The command syntax is:
  2105.  
  2106.         set pool -o [ MCB address [ / nuPSP ] ]
  2107.  
  2108.  
  2109.  
  2110.  
  2111.       The Debugger Commands                                  page 2-10
  2112.  
  2113.  
  2114.       C O M S O F T                                           VMiX 386
  2115.  
  2116.  
  2117.       set terminal
  2118.  
  2119.       TERMINAL EMULATIONS SUPPORTED
  2120.  
  2121.         -t0 = TELEVIDEO 910/920
  2122.         -t1 = ADM3A
  2123.         -t2 = VT-52
  2124.         -t3 = ZENITH H19
  2125.         -t4 = VT-100
  2126.         -t5 = Ansi (default)
  2127.         -t9 = tty
  2128.  
  2129.  
  2130.       VMiX SCREEN COLOR SELECTION
  2131.       ___________________________
  2132.  
  2133.       Alphanumeric Text Modes:
  2134.  
  2135.       The command syntax is:
  2136.  
  2137.         set video -c [ color code ]
  2138.         set video -C [ color code ]
  2139.  
  2140.  
  2141.       The color code is a 2 digit hexadecimal number of the form:
  2142.  
  2143.       0xBF
  2144.  
  2145.  
  2146.       where,
  2147.  
  2148.       B is the background color key and F is the foreground color key,
  2149.       selected fron the table below.  To use this method, the color
  2150.       code argument must be entered in hexadecimal format.  Because
  2151.       the argument is in hexadecimal, it must be preceeded by an '0x'.
  2152.  
  2153.  
  2154.        Color Keys
  2155.  
  2156.        B  backgrounds    F  foregrounds
  2157.  
  2158.        0   black          0 black   8  gray
  2159.        1   blue           1 blue    9  lt. blue
  2160.        2   green          2 green   A  lt. green
  2161.        3   cyan           3 cyan    B  lt. cyan
  2162.        4   red            4 red     C  lt. red
  2163.        5   magenta        5 magenta D  lt. mag
  2164.        6   brown          6 brown   E  yellow
  2165.        7   white          7 white   F  brt white
  2166.  
  2167.  
  2168.       Graphics Modes:
  2169.  
  2170.       The command syntax is:
  2171.  
  2172.         set video -c [ color code ]
  2173.         set video -C [ color code ]
  2174.  
  2175.  
  2176.  
  2177.       The Debugger Commands                                  page 2-11
  2178.  
  2179.  
  2180.       C O M S O F T                                           VMiX 386
  2181.  
  2182.  
  2183.       The color code is a decimal or hexadecimal  number  which
  2184.       represents the pixels on(1) or off(0) binary patterns on the
  2185.       screen.  See the color code table given below.
  2186.  
  2187.  
  2188.       Color Codes
  2189.  
  2190.       decimal   hexadecimal
  2191.     
  2192.          0         0x0       00000000  black
  2193.          85        0x55      01010101  gray
  2194.         170        0xAA      10101010  gray
  2195.         255        0xFF      11111111  white
  2196.  
  2197.  
  2198.       VMiX CONSOLE STATUS
  2199.       ___________________
  2200.  
  2201.  
  2202.       set video
  2203.  
  2204.         -s  " toggles status display ON/OFF"
  2205.  
  2206.  
  2207.       The VMiX status line displays at the bottom of the console
  2208.       display, when enabled with the command 'set video -s' from the
  2209.       Root Shell.  You should enable the status line BEFORE other
  2210.       tasks are started.  If the status line is enabled after other
  2211.       windows are running, the screen for those tasks might not
  2212.       display the correct number of program lines.
  2213.  
  2214.            The status line displays:
  2215.  
  2216.                 the time
  2217.                 the current console vio channel
  2218.                 the current console video mode
  2219.                 the keyboard toggle keys
  2220.                     [Ins]
  2221.                     [Num Lock]
  2222.                     [Caps Lock]
  2223.                     [Scroll Lock]
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.       The Debugger Commands                                  page 2-12
  2244.  
  2245.  
  2246.       C O M S O F T                                           VMiX 386
  2247.  
  2248.  
  2249.       SIZE WINDOW
  2250.       ___________
  2251.  
  2252.  
  2253.       set video
  2254.  
  2255.         -w  " sets root window size: y0, x0, y1, x1"
  2256.  
  2257.  
  2258.       The -w switch is used to  specify the bounds of a new root
  2259.       window.  A root window is where all user dialog with the
  2260.       operating system takes place.
  2261.  
  2262.  
  2263.       0
  2264.          --------------------------------------------------------
  2265.         | VMiX.386 2.5X               Copyright ComSoft, Inc.1991|
  2266.         |--------------------------------------------------------|
  2267.         |                                                        |
  2268.         |                                                        |
  2269.       r | TOP left corner                                        |
  2270.         | *----------------------------                          |
  2271.   Y   o | |y,x                         |                         |
  2272.         | |        WINDOW              |                         |
  2273.       w | |                            |                         |
  2274.         | |                         y,x|                         |
  2275.         |  ----------------------------*                         |
  2276.         |                              BOTTOM right corner       |
  2277.         |                                                        |
  2278.         |                                                        |
  2279.      24  --------------------------------------------------------
  2280.         0                         column                        79
  2281.                                     X
  2282.  
  2283.  
  2284.  
  2285.       The command syntax is:
  2286.  
  2287.         set video -w [ [ top row ]
  2288.                        [ , top col ]
  2289.                        [ , bot row ]
  2290.                        [ , bot col ] ]
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.       The Debugger Commands                                  page 2-13
  2310.  
  2311.  
  2312.       C O M S O F T                                           VMiX 386
  2313.  
  2314.  
  2315.       AUTO PARTITION CONSOLE SCREEN
  2316.       _____________________________
  2317.  
  2318.  
  2319.       set video
  2320.  
  2321.         -W, " auto partitions task windows
  2322.               (Shift-Tab moves kbd between windows)"
  2323.  
  2324.  
  2325.       Supports multitasking from the console (up to 4 windows).
  2326.       Note that the 'W' must be typed in upper-case, to distinguish
  2327.       it from the manual Size Window command, described above.
  2328.  
  2329.       The command syntax is:
  2330.  
  2331.         set video -W
  2332.  
  2333.  
  2334.       This command is sensitive to the number of channels that have
  2335.       been assigned to COM0, the console.  It uses this count to
  2336.       determine the number of windows to divide the screen.
  2337.  
  2338.       The 'set video -W' command, is intended to work in cunjunction
  2339.       with the 'assign' command.  The purpose is to split the screen
  2340.       to accomodate a new channel assigned for a console task, yet to
  2341.       be spawned.
  2342.  
  2343.       The nominal set of commands needed to manually start a
  2344.       background/windowed task at the console is:
  2345.  
  2346.         'set system -m'  will enable operator messages
  2347.  
  2348.         'assign srcsink 0'  will grab a new console (device 0)
  2349.                             channel and display its id # ????
  2350.  
  2351.         'spawn -c???? set video -W / exec .....'  will spawn a new
  2352.                                                   background task to
  2353.                                                   channel ?? assigned
  2354.                                                   and partition the
  2355.                                                   screen
  2356.  
  2357.         (press Shift-Tab to move the keyboard to the new task
  2358.  
  2359.       The  above  sequence can be  replaced by the simpler to use,
  2360.       single command:
  2361.  
  2362.         'dosjob .....'
  2363.  
  2364.       where ..... is the same user job string input with spawn, above.
  2365.  
  2366.         'dosjob set video -W / exec .....'
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.       The Debugger Commands                                  page 2-14
  2376.  
  2377.  
  2378.       C O M S O F T                                           VMiX 386
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.  
  2385.  
  2386.  
  2387.  
  2388.  
  2389.                                    PART THREE
  2390.  
  2391.  
  2392.                                     VMiX 386
  2393.  
  2394.  
  2395.  
  2396.  
  2397.  
  2398.  
  2399.  
  2400.  
  2401.                                     REFERENCE
  2402.  
  2403.  
  2404.                                   THE UTILITIES
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.       The Utilities                                           page 3-1
  2442.  
  2443.  
  2444.       C O M S O F T                                           VMiX 386
  2445.  
  2446.  
  2447.  
  2448.  
  2449.       VMiX includes 8 utility programs:
  2450.  
  2451.         PS.EXE
  2452.         DSTAT.EXE
  2453.         DPATH.EXE
  2454.         LOADUP.EXE
  2455.         OUTSIDE.EXE
  2456.         MONITOR.EXE
  2457.         VT.EXE
  2458.         VW.EXE
  2459.  
  2460.  
  2461.       These programs assist VMiX users and are described below.
  2462.  
  2463.       Note that you do not need to be in a VMiX shell to execute one
  2464.       of the utilities.  VMiX only needs to be resident.  You may
  2465.       shell out of a word processing program running under VMiX and
  2466.       execute a utility from DOS.
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.       The Utilities                                           page 3-2
  2508.  
  2509.  
  2510.       C O M S O F T                                           VMiX 386
  2511.  
  2512.  
  2513.  
  2514.  
  2515.       NAME: ps.exe
  2516.       ____
  2517.  
  2518.       OUTLINE:
  2519.       _______
  2520.  
  2521.       ps    " displays all processes status"
  2522.  
  2523.  
  2524.       DESCRIPTION:
  2525.       ___________
  2526.  
  2527.       This utility displays a list of all currently active processes.
  2528.       Information on the job being executed, the current priority and
  2529.       assigned STDIO channel are listed.
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.       The Utilities                                           page 3-3
  2574.  
  2575.  
  2576.       C O M S O F T                                           VMiX 386
  2577.  
  2578.  
  2579.  
  2580.  
  2581.       NAME: dstat.exe
  2582.       ____
  2583.  
  2584.       OUTLINE:
  2585.       _______
  2586.  
  2587.       dstat   " displays all VMiX objects and channels"
  2588.  
  2589.         -a    " selects only assigned objects"
  2590.         -r    " selects only free objects"
  2591.  
  2592.  
  2593.       DESCRIPTION:
  2594.       ___________
  2595.  
  2596.       This utility display the object ids of VMiX objects, the type of
  2597.       object and assigned channels.  If no channel is assigned, then
  2598.       -1 is displayed.  The scheduler (process id 0) owns free objects
  2599.       and channels.
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607.  
  2608.  
  2609.  
  2610.  
  2611.  
  2612.  
  2613.  
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.  
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.       The Utilities                                           page 3-4
  2640.  
  2641.  
  2642.       C O M S O F T                                           VMiX 386
  2643.  
  2644.  
  2645.  
  2646.  
  2647.       NAME: dpath.exe
  2648.       ____
  2649.  
  2650.       OUTLINE:
  2651.       _______
  2652.  
  2653.       dpath   " sets directory search PATH for data files"
  2654.  
  2655.         -v    " sets verbose mode (default)"
  2656.         -q    " sets quiet mode"
  2657.         -r    " allows data read only"
  2658.         -w    " allows data read/write (default)"
  2659.         -h    " displays help"
  2660.  
  2661.  
  2662.       DESCRIPTION:
  2663.       ___________
  2664.  
  2665.       DPATH is a public domain utility, modified to work with VMiX.
  2666.       This utility is similar to the MS-DOS command 'append' and lets
  2667.       you specify a path for DOS to use when searching for program
  2668.       data files (See DPATH.DOC).
  2669.  
  2670.       VMiX allows independent default disk drives for separate tasks
  2671.       (or shells) but only one default directory per drive.  You will
  2672.       need to use DPATH when running multiple applications on the same
  2673.       drive which require different default directories.  You use
  2674.       DPATH the same way you use the MS-DOS command PATH to specify
  2675.       the search path for executables.
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.       The Utilities                                           page 3-5
  2706.  
  2707.  
  2708.       C O M S O F T                                           VMiX 386
  2709.  
  2710.  
  2711.  
  2712.  
  2713.       NAME: loadup.exe
  2714.       ____
  2715.  
  2716.       OUTLINE:
  2717.       _______
  2718.  
  2719.       loadup  " VMiX loadhi utility to place TSRs above 640Kb"
  2720.  
  2721.  
  2722.       DESCRIPTION:
  2723.       ___________
  2724.  
  2725.       This utility can be executed from inside VMiX to load a TSR to
  2726.       upper memory above segment C000h.
  2727.       
  2728.       The loaded TSR will be visible only to the process that started
  2729.       it, since each VMiX task is virtually mapped to a separate
  2730.       virtual first megabyte.  This means that you can have different
  2731.       (or the same) TSRs active for each partition.
  2732.  
  2733.       VMiX is compatible with XMS drivers, like HIMEM.SYS.  However,
  2734.       VMiX will not work with other 80386 virtual memory managers,
  2735.       like EMM386.SYS, QEMM.SYS or 386MAX.SYS
  2736.  
  2737.       Since you can not use another extended memory manager when using
  2738.       VMiX, this utility has been provided to move TSRs to upper
  2739.       memory.
  2740.  
  2741.       The command syntax is:
  2742.  
  2743.              LOADUP [/help] [/segment=] [/size=] filespec
  2744.  
  2745.       We recommend that you do the first TSR load with /size=128
  2746.       (number of 1Kb blocks) and reduce the size if LOADUP reports
  2747.       memory unavailable.
  2748.  
  2749.       For subsequent TSR loads, invoke LOADUP with /size=0, since
  2750.       the upper memory block has already being assigned, but not
  2751.       necessarily all used.  New TSRs will look for unused memory
  2752.       within the upper memory block assigned in the first LOADUP.
  2753.  
  2754.       When you first invoke LOADUP, you want to specify a size equal
  2755.       to the largest contiguous space available above your video ROM
  2756.       area (depending on your HDisk controller and other installed
  2757.       adapters, this area size is usually between 64 and 128
  2758.       kilobytes).
  2759.  
  2760.       If no size is given, LOADUP looks for 64 Kbytes in upper memory
  2761.       to load the TSR.  The second, third, etc. time a TSR is loaded,
  2762.       you should specify a size of 0 (or if known, the actual size
  2763.       required by the TSR).
  2764.  
  2765.       If you know what you are doing, this utility will also allow
  2766.       you to specify the segment location (i.e., /segment=D000).
  2767.  
  2768.       If your TSRs requires less than 64 Kbytes, then 'LOADUP
  2769.       filespec' will work fine without any arguments.
  2770.  
  2771.       The Utilities                                           page 3-6
  2772.  
  2773.  
  2774.       C O M S O F T                                           VMiX 386
  2775.  
  2776.  
  2777.  
  2778.  
  2779.       NAME: outside.exe
  2780.       ____
  2781.  
  2782.       OUTLINE:
  2783.       _______
  2784.  
  2785.       outside " MS-DOS shelling utility for bulletin board
  2786.                 software executing under VMiX"
  2787.  
  2788.         -c    " selects the COMM port channel for the remote outside
  2789.                 shell"
  2790.  
  2791.  
  2792.       DESCRIPTION:
  2793.       ___________
  2794.  
  2795.       Bulletin Board software usually allows you to install a program
  2796.       to execute when the SysOp desires to shell out to DOS to perform
  2797.       some maintenance.
  2798.  
  2799.       This utility allows you to shell to DOS, when running the BBS
  2800.       software under VMiX.  'Outside' will spawn a new task for the
  2801.       DOS shell, independent of the BBS task.
  2802.  
  2803.         -c1   shell to DOS on COM1    (default)
  2804.         -c2   shell to DOS on COM2
  2805.         -c3   shell to DOS on COM3
  2806.         -c4   shell to DOS on COM4
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.       The Utilities                                           page 3-7
  2838.  
  2839.  
  2840.       C O M S O F T                                           VMiX 386
  2841.  
  2842.  
  2843.  
  2844.  
  2845.       NAME: monitor.exe
  2846.       ____
  2847.  
  2848.       OUTLINE:
  2849.       _______
  2850.  
  2851.       monitor " utility monitors process or system"
  2852.  
  2853.         -f    " displays information on any open files on the system"
  2854.         -m    " displays a memory map of the first megabyte of
  2855.                 address space"
  2856.         -p    " displays information on the VMiX paged memory pools
  2857.                 in conventional and extended memory"
  2858.         -r    " monitors process registers continuously: process id"
  2859.  
  2860.  
  2861.       DESCRIPTION:
  2862.       ___________
  2863.  
  2864.       The command syntax is:
  2865.  
  2866.         monitor [ -f ] [ -m ] [ -p ] [ -r ] [ process id ]
  2867.  
  2868.  
  2869.       If all switches are omitted, the process block of any specified
  2870.       process will be displayed.  If no process id is given, you will
  2871.       be asked to supply one; if none is supplied, the default is the
  2872.       current process.
  2873.  
  2874.       When the '-r' switch is included before the process id, the
  2875.       process registers will be continuously monitored until the
  2876.       'Esc' or the Ctrl Break key is pressed.
  2877.  
  2878.       While in the register viewing mode, pressing Ctrl S will put the
  2879.       process being viewed to sleep.  Pressing Ctrl Q will wake the
  2880.       process.
  2881.  
  2882.       While in the register viewing mode, pressing the 'M' key will
  2883.       allow you to examine and/or modify memory locations.
  2884.  
  2885.       The address format is:
  2886.  
  2887.         segment [ : offset ] [ = byte ]
  2888.  
  2889.  
  2890.       where,
  2891.  
  2892.       the '= byte' is optional, for example:
  2893.  
  2894.         hex address? 550A             displays segment 550A:0
  2895.         hex address? 550A:100         displays segment 550A:100
  2896.         hex address? 550A:100 = FF    sets byte at 550A:100 to FF
  2897.  
  2898.       The 'examine memory' command does the equivalent from the VMiX
  2899.       shell.
  2900.  
  2901.  
  2902.  
  2903.       The Utilities                                           page 3-8
  2904.  
  2905.  
  2906.       C O M S O F T                                           VMiX 386
  2907.  
  2908.  
  2909.       'monitor -f' allows all open files on a VMiX system to be
  2910.       globally monitored.  Open files will be listed and revised until
  2911.       the 'Esc' key is pressed.
  2912.  
  2913.       'monitor -m' displays a map of the first one megabyte of memory
  2914.       space.  The screen displays memory in 1Kbyte (1024) blocks.  If
  2915.       the block is in use by the system, then it is marked by a '$' or
  2916.       a solid black block, in graphics mode.  If the block is in use
  2917.       by VMiX, then it is marked by a 'V' or a gray shaded block.
  2918.       Memory control blocks are distinguished by an '='  or a small
  2919.       solid black block with border, in graphics mode.  Memory not in
  2920.       use is  indicated by an '.' or a small solid white block with
  2921.       border.
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.  
  2969.       The Utilities                                           page 3-9
  2970.  
  2971.  
  2972.       C O M S O F T                                           VMiX 386
  2973.  
  2974.  
  2975.  
  2976.  
  2977.       NAME: vt.exe
  2978.       ____
  2979.  
  2980.       OUTLINE:
  2981.       _______
  2982.  
  2983.       vt   " utility to login to a remote VMiX host"
  2984.  
  2985.  
  2986.       DESCRIPTION:
  2987.       ___________
  2988.  
  2989.       VT can be used to connect to other VMiX hosts from a local
  2990.       shell.  Essentially VT is a remote utility to serially link
  2991.       together two different VMiX hosts (115.2 Kbaud maximum).
  2992.       This utility form the basis for a VMiX distributed system in
  2993.       a network of two or more VMiX systems.
  2994.  
  2995.       VT will start a remote session with the second computer via the
  2996.       COMM port currently specified by 'set remote -l ????' (you can
  2997.       determine the current setting with the 'examine status'
  2998.       command).  You can then execute from host-1 any program on
  2999.       host-2.
  3000.  
  3001.  
  3002.       To set up a single remote session from host-1 connected to
  3003.       host-2 use the following:
  3004.  
  3005.            host-1                     host-2
  3006.  
  3007.        set remote -l1             set remote -l1      (COM1 for both)
  3008.        do vt.exe                      -      (Request host-2 session)
  3009.        login                          -(host-2 asks for session name)
  3010.                                                          (you are in)
  3011.  
  3012.  
  3013.       To set up dual links (one VT session on host-1 running on
  3014.       host-2, and another VT session on host-2 running on host-1
  3015.       use the following:
  3016.  
  3017.            host-1                     host-2
  3018.  
  3019.        set remote -l1             set remote -l1      (COM1 for both)
  3020.        do vt.exe                      -              (host-2 session)
  3021.        login                          -                (session name)
  3022.        press Shift-Tab                -              (switch to Root)
  3023.        set remote -l2             set remote -l2      (COM2 for both)
  3024.            -                      do vt.exe          (host-1 session)
  3025.            -                      login                  (enter name)
  3026.        press Shift-Tab                -                (return to VT)
  3027.  
  3028.       NOTE:  To activate (and transmit to the remote host) the IBM
  3029.       function key equivalents (like Alt-X, PgUp, up-arrow, F3, etc.)
  3030.       you must toggle IBM emulation by pressing Ctrl-F.  Then the
  3031.       application in the VT window will respond to the special keys
  3032.       (See Figure 3).
  3033.  
  3034.  
  3035.       The Utilities                                          page 3-10
  3036.  
  3037.  
  3038.       C O M S O F T                                           VMiX 386
  3039.  
  3040.  
  3041.       You will need to press Ctrl-F again to disable IBM emulation,
  3042.       after the special keys are used so that the keyboard Shift key
  3043.       will act correctly (this is a side effect of assuming that you
  3044.       could be at a terminal with no IBM special keys to press).
  3045.  
  3046.       NOTE:  If you have started a VT session and type 'set baud -c1
  3047.       2400', you will be setting the remote computer send baud rate,
  3048.       you will need to press Shift-Tab and switch to a local session
  3049.       to perform the same command for your local computer, so that
  3050.       both sides sync at the new baud rate.
  3051.  
  3052.       To quit VT.EXE press Alt-Z.  This will terminate the VT program,
  3053.       but will not quit the remote session.  You should 'quit' the
  3054.       remote session first (by typing 'quit'), before pressing Alt-Z.
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.       The Utilities                                          page 3-11
  3102.  
  3103.  
  3104.       C O M S O F T                                           VMiX 386
  3105.  
  3106.  
  3107.  
  3108.  
  3109.       NAME: vw.exe
  3110.       ____
  3111.  
  3112.       OUTLINE:
  3113.       _______
  3114.  
  3115.       vw    " VMiX pull-down menus utility"
  3116.  
  3117.         -i  " interactive keyboard mode"
  3118.  
  3119.  
  3120.       DESCRIPTION:
  3121.       ___________
  3122.  
  3123.       VW can be used to start other programs or to set VMiX options.
  3124.       VW is an easy to use multiple thread environment.
  3125.  
  3126.       The menu bar displays five user menus:
  3127.  
  3128.         'Commands' are a simulation of the tokens normally available
  3129.         from the VMiX shell.
  3130.  
  3131.         'Memory' allows you to partition memory and configure memory
  3132.         utilization.
  3133.  
  3134.         'Process' provides new task start-up and process maintenance.
  3135.  
  3136.         'Examine' displays status information and resource utilization
  3137.         information.
  3138.  
  3139.         'Options' is where most configuration choices reside.
  3140.  
  3141.       Move to the desired menu by pressing the right or left arrow
  3142.       keys.  Select a menu by pressing the down arrow key, by pressing
  3143.       ENTER, or by typing the CAPITALIZED letter of the menu name.
  3144.  
  3145.       Select a pull-down menu option by first moving to the desired
  3146.       item with the down or up arrow keys and press ENTER to execute
  3147.       the option.  Pull-down options that display a '->' indicate an
  3148.       additional pull-down menu, reachable by pressing ENTER or the
  3149.       right-arrow key.  To exit from the vw utility or a pull-down
  3150.       menu press the 'Esc' key.
  3151.  
  3152.       When using VW from a remote PC, while running a remote console
  3153.       software product, you must tell VW to run in interactive mode
  3154.       with the command line option: 'VW.EXE -i'.  In this mode, VW
  3155.       will not allow the scheduler to set it to sleep, when there is
  3156.       no input/output activity.
  3157.  
  3158.       VW asks for a video page or video mode when starting a new VMiX
  3159.       shell or MS-DOS shell with FULL screen (use only page 0, when in
  3160.       386 mode).
  3161.  
  3162.       VW will respond to the [Home] key by repainting the menu bar.
  3163.       On non-386 computers, switching to tasks in different video
  3164.       pages or modes will sometimes not restore the VW menu bar on
  3165.       return to VW, so press [Home] to redisplay.
  3166.  
  3167.       The Utilities                                          page 3-12
  3168.  
  3169.  
  3170.       C O M S O F T                                           VMiX 386
  3171.  
  3172.  
  3173.       Windows are usually displayed automatically, when a new process
  3174.       is started.  With VW you can size a custom window from the
  3175.       Options Menu.  The 'Resize window' command will ask for the
  3176.       top-left and bottom-right coordinates, as shown above (Row and
  3177.       Column), for the new window.
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.  
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.       The Utilities                                          page 3-13
  3234.